#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include "global.h"
#include <QFile>
#include <QMap>
#include <QStandardItemModel>
#include <QDateTime>
#include "car.h"
#include "user.h"
#include <QTextStream>
#include <QMessageBox>

QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void on_btnLoginLogin_clicked();

    void on_btnFindAdmin_clicked();

    void on_cheEditAdmin_stateChanged(int arg1);

    void on_btnAppendAdmin_clicked();

    void on_btnDeleteAdmin_clicked();

    void on_btnResetAdmin_clicked();

    void on_btnSubmitAdmin_clicked();

    void on_actExitLogin_triggered();

private:
    Ui::MainWindow *ui;

    //私有成员部分
    QMap<QString,car> m_carMap;//建立车牌号和car对象之间的映射
    QMap<QString,user> m_userMap;//建立用户账号和user对象之间的映射
    user m_curUser;//当前登录用户

    //自定义私有函数部分
    void init();//程序初始化函数,程序启动时最先调用的自定义函数
    void loadDataFile();//加载汽车和用户数据文件
    void saveDate();//保存汽车数据
    void showInfo();//简述:显示所有汽车信息
    void adminUiInit();//管理员界面初始化
    void userUiInit();//用户界面初始化
};
#endif // MAINWINDOW_H
